﻿using System;
using System.ComponentModel.DataAnnotations;
using KC.DTO.Core;

namespace KC.Service.DTO.Member
{
    public class UserRegisterInfoViewModel : EntityBaseViewModel
    {
        /// <summary>
        /// 会员Guid
        /// </summary>
        public string UserId { get; set; }
        /// <summary>
        /// 会员登陆名
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 会员编号
        /// </summary>
        public string MemberId { get; set; }
        /// <summary>
        /// 客户类型
        /// </summary>
        public int CustomerType { get; set; }
        /// <summary>
        /// 会员显示名
        /// </summary>
        public string DisplayName { get; set; }
        /// <summary>
        /// 会员Email
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// 邮箱是否验证
        /// </summary>
        public bool EmailConfirmed { get; set; }
        /// <summary>
        /// 邮箱验证过期时间
        /// </summary>
        public DateTime? EmailConfirmedExpired { get; set; }
        /// <summary>
        /// 邮箱验证时间
        /// </summary>
        public DateTime? EmailConfirmedDate { get; set; }
        /// <summary>
        /// 会员手机号
        /// </summary>
        public string PhoneNumber { get; set; }
        /// <summary>
        /// 手机号是否验证
        /// </summary>
        public bool PhoneNumberConfirmed { get; set; }

        public string PasswordHash { get; set; }
        /// <summary>
        /// 是否锁定
        /// </summary>
        public bool LockoutEnabled { get; set; }
        /// <summary>
        /// 锁定日期
        /// </summary>
        public DateTime? LockoutEndDateUtc { get; set; }
        
        public string SecurityStamp { get; set; }
        public bool TwoFactorEnabled { get; set; }
        /// <summary>
        /// 登陆错误次数
        /// </summary>
        public int AccessFailedCount { get; set; }
        /// <summary>
        /// 创建日期
        /// </summary>
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// 微信公众号
        /// </summary>
        [MaxLength(128)]
        public string OpenId { get; set; }

        public Guid ApplicationId { get; set; }
    }
}
